프로그래머스 - 상호평가
문제
학생들의 평균을 구하는데, 학생 자기 자신이 평가한 점수가 가장 높거나 가장 낮을 땐 해당 점수를 제외하고 평균을 구하는 문제.
문제 해결 순서
- x, y 좌표를 저장할 front, back 배열을 선언.
- 반복문을 돌며 arri번째를 front에, arri번째를 back에 저장하는데 이미 있는 값이면 해당 값을 제거하고 저장하지 않는다.
- 직사각형이 되려면 같은 좌표가 2개씩 있어야 한다는 점을 이용.
ex) [1, 3] [1, 6] [4, 3] [4, 6] -> 1 두개, 3 두개, 6 두개, 4 두개
import Foundation
func solution(_ v: [[Int]]) -> [Int]
{
var front: [Int] = []
var back: [Int] = []
for i in v {
if !front.contains(i[0]) {
front.append(i[0])
}
else{
front.remove(at: front.firstIndex(of: i[0])!)
}
if !back.contains(i[1]) {
back.append(i[1])
}
else{
back.remove(at: back.firstIndex(of: i[1])!)
}
}
return front + back
}